import { get, post, put, del } from '@/utils/request';

/**
 * 获取当前登录管理员信息
 * @returns 用户信息
 */
export async function getUserInfo(): Promise<USER.UserModel> {
  const response = await get('/admin/auth/me');

  if (response.code === 200) {
    return response.data;
  } else {
    throw new Error(response.message || '获取用户信息失败');
  }
}

/**
 * 更新用户信息
 * @param params 用户信息参数
 * @returns 更新结果
 */
export async function updateUserInfo(params: {
  name?: string;
  nickName?: string;
  className?: string;
  stuNo?: string;
  phone?: string;
  email?: string;
  role?: string;
  gender?: number;
}) {
  return put('/api/user/update', params);
}

/**
 * 获取所有用户列表（需要管理员权限）
 * @returns 用户列表
 */
export async function getUserList() {
  return post('/api/user/pagedList');
}

/**
 * 删除用户（需要管理员权限）
 * @param id 用户ID
 * @returns 删除结果
 */
export async function deleteUser(id: number) {
  return del(`/api/user/delete/${id}`);
}